#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
    int p1 = m - 1;
    int p2 = n - 1;
    int p3 = n + m - 1;
    while (p1 + 1 > 0 && p2 + 1 > 0)
    {
        if (nums1[p1] > nums2[p2])
        {
            nums1[p3--] = nums1[p1--];
        }
        else
        {
            nums1[p3--] = nums2[p2--];
        }

    }
    if (p1 + 1 > 0)
    {
        while (p1 >= 0)
        {
            nums1[p3--] = nums1[p1--];
        }

    }
    else if (p2 + 1 > 0)
    {
        while (p2 >= 0)
        {
            nums1[p3--] = nums2[p2--];
        }
    }
}

int main()
{

    int nums1[6] = {1, 2, 3, 0, 0, 0};
    int nums2[3] = { 2, 5, 6 };

    merge(nums1, 6, 3, nums2, 3, 3);

	return 0;
}